Skip to content

Add Dirichlet process mixture model #999

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Feb 27, 2016
Merged

Add Dirichlet process mixture model #999

merged 4 commits into from
Feb 27, 2016

Conversation

AustinRochford
Copy link
Member

@twiecki per Twitter

@AustinRochford
Copy link
Member Author

It now builds correctly.
screen shot 2016-02-26 at 8 36 01 pm

@springcoil
Copy link
Contributor

@twiecki can you go ahead and merge this - my understanding was you had to build something yourself to get this kinda stuff into the website.

👍
Good work Austin - looks a really neat example. I think there is an example like this in Probabilistic Programming and Bayesian Methods for Hackers am I correct?

@twiecki
Copy link
Member

twiecki commented Feb 27, 2016

@AustinRochford This is really neat, I've been wanting an example like this for a long time. It's great to see that the truncation works so well and is moreover very easy to implement in pymc3.

I'm going to merge this but it might be worthwhile to think of making this a bit more user-friendly in pymc3. For example, the model parts of the DP mixture could easily be their own function (similar to what I did here: #701). Also, the PPC plots are really instructive but I wonder if there's perhaps a way to use the existing ppc functionality we already have in pymc3. Anyway, as I said that would be just frosting (and who doesn't like frosting).

twiecki added a commit that referenced this pull request Feb 27, 2016
…-example

Add Dirichlet process mixture model
@twiecki twiecki merged commit e906c86 into pymc-devs:master Feb 27, 2016
@AustinRochford
Copy link
Member Author

@twieck thanks, I'll see what I can to to make it a bit cleaner. I haven't used pymc3's PPC functionality much yet so I tend to forget about it!

I was also pleased to see how well truncation worked, because I really try not to write too many custom samplers by hand. Even though some of the Chinese restaurant process-based Gibbs samplers for the DP are quite clever, I prefer to use pymc3 where possible.

I would also be interested in writing about DP mixtures for clustering, but to get interesting (read: multidimensional) examples I think #535 will need to be resolved.

@AustinRochford
Copy link
Member Author

@springcoil
Copy link
Contributor

I was clearly mistaken.
On 27 Feb 2016 3:56 PM, "Austin Rochford" [email protected] wrote:

@springcoil https://github.com/springcoil a quick search for
"Dirichlet" in the PPBMH repo shows no results.

https://github.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers/search?utf8=%E2%9C%93&q=Dirichlet


Reply to this email directly or view it on GitHub
#999 (comment).

@AustinRochford
Copy link
Member Author

Would be cool to contribute, but I'll likely wait for the pymc3 port, as my pymc2 is a bit rusty.

@fonnesbeck
Copy link
Member

I wrote a post about implementing stick-breaking DP in PyMC 2 a couple years ago.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants